﻿using System;
using System.Collections.Generic;
using System.IO;

using Core.Basic.ContactAPI;
using ExtensionsAPI.ContactsAPI;

namespace Core.Basic {
	public class Contact {
		public Contact( ) {
			this._nickname = "";
			this._name = new Name( );
			this._birthday = new DateTime( );
			this._addresses = new List<IAddress>( );
			this._emails = new List<IEmail>( );
			this._phones = new List<IPhone>( );
			this._sockets = new List<IContact>( );
		}

		private string _nickname;
		public string Nickname {
			get { return this._nickname; }
			set { this._nickname = value; }
		}

		public string Description { get; set; }

		public string Avatar { get; set; }

		private IName _name;
		public IName Name {
			get { return this._name; }
		}

		private DateTime _birthday;
		public DateTime Birthday {
			get { return this._birthday; }
		}

		private List<IAddress> _addresses;
		List<IAddress> Addresses {
			get { return this._addresses; }
		}

		private List<IEmail> _emails;
		List<IEmail> Emails {
			get { return this._emails; }
		}

		private List<IPhone> _phones;
		List<IPhone> Phones {
			get { return this._phones; }
		}

		private List<IContact> _sockets;
		List<IContact> Sockets {
			get { return this._sockets; }
		}
	}
}